AWS CloudFormationのクォータ制限(本文サイズ,リソース数,パラメータ数)が拡張されました
AWS チームのすずきです。
AWS CloudFormation のクォータが拡張されるアップデートがあり、 1つの CloudFormation テンプレートでより多くのAWSリソースの管理が可能となりましたので、紹介させて頂きます。
AWS CloudFormation now supports increased limits on five service quotas
拡張されたクォータ
下記5項目について、1つのCloudFormationテンプレートごとの上限が拡張されました。
クォータ項目 | 英文表記 | 新 | 旧 |
---|---|---|---|
テンプレート本文のサイズ(Amazon S3利用時) | Template body size in an Amazon S3 object | 1MB | 450KB |
リソース数 | Resources | 500 | 200 |
パラメータ数 | Parameters | 200 | 60 |
出力数 | Outputs | 200 | 60 |
マッピング数 | Mappings | 200 | 60 |
他のクォータ項目については、公式ドキュメントをご確認ください。
まとめ
CloudFormation のテンプレートに Lambda 関数のコードや、EC2用の UserData 設定などを埋め込む場合、 テンプレートのサイズ上限が問題となる事がありましたが、2倍強に拡張された事で制限に抵触しにくくなりました。
また、パラメータ、出力数が拡張された事で、スタック間のリソース参照を利用した詳細な IAM やポリシー設定なども実現しやすくなると思われます。
CloudFormation のベストプラクティスとして小規模なテンプレート利用が推奨されていますが、 一つのテンプレートで完結する方が管理上望ましい場合もあります。ユースケースに応じた適切な利用をお試しください。
Q: スタック内で作成できるリソースの数に制限はありますか? ベストプラクティスとして、小規模なテンプレートとスタックを作成し、複数のスタック間でアプリケーションをモジュール化することをお勧めします。大規模なグループよりも小規模なグループの方が依存関係が複雑でないため、このようにすることで、リソース変更に伴う影響範囲を最小限に抑えることができ、複数のリソース間の依存関係に関する問題をよりすばやく解決できます。